package top.zhan.observe;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Zhan
 * @date 2022/10/9 13:32
 */
public class Subject {

    private List<Observer> observers = new ArrayList<>();

    /**
     * 新增观察者
     * @param observer
     */
    public void addObserve(Observer observer){
        this.observers.add(observer);
    }

    /**
     * 删除观察者
     * @param observer
     */
    public void deleteObserve(Observer observer){
        this.observers.remove(observer);
    }

    public void notifyAllObserve(){
        for(Observer observer : this.observers){
            observer.update();
        }
    }
}
